#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#include <string.h>
//#define N 100
//#define N 100

//����ÿһ�еĵ���
//int countWords(char* line) {
//    int count = 0;
//    int in_word = 0;
//    for (int i = 0; line[i] != '\0'; i++) {
//        if (line[i] == ' ') {
//            if (in_word) {
//                count++;
//                in_word = 0;
//            }
//        }
//        else {
//            in_word = 1;
//        }
//    }
//    if (in_word) {
//        count++;
//    }
//    return count;
//}


//
//int countWords(char* line) {
//    if (line[0] == '\0') return 0;
//    int count = 1;
//    for (int i = 0; line[i] != '\0'; i++) {
//        if (line[i] == ' ') {
//            count++;
//        }
//    }
//    return count;
//}
//int main() {
//    char lines[N][N];    //�洢����
//    int num_lines = 0;    //����
//    int word_counts[N]; //��ÿ�е�����
//
//    printf("����Ӣ���ı�������\"end\"��������\n");
//
//    while (num_lines < N) {
//        gets(lines[num_lines]);
//
//        if (strcmp(lines[num_lines], "end") == 0) {   //end ���������
//            break;
//        }
//
//        word_counts[num_lines] = countWords(lines[num_lines]);   
//        num_lines++;
//    }
//    printf("�����\n");
//    for (int i = 0; i < num_lines; i++) {
//        printf("��%d����%d������\n", i + 1, word_counts[i]);
//    }
//    return 0;
//}
//



//#include<iostream>
//#include <string>
//#include<unordered_map>
//using namespace std;
//int n, m;
//
//unordered_map<std::string, int> m1;
//unordered_map<std::string, int> m2;
//int main()
//{
//
//    cin >> n >> m;
//    for (int j = 0; j < n; j++)
//    {
//        std::string str;
//        cin >> str;
//        //全换成小写
//        for (int i = 0; i < str.size(); i++)
//        {
//            if (str[i] >= 'A' && str[i] <= 'Z')   //大写  -> 小写
//                str[i] += 32;
//        }
//        m1[str]++;
//    }
//    for (int j = 0; j < m; j++)
//    {
//        std::string str;
//        cin >> str;
//        //全换成小写
//        for (int i = 0; i < str.size(); i++)
//        {
//            if (str[i] >= 'A' && str[i] <= 'Z')   //大写  -> 小写
//                str[i] += 32;
//        }
//        m2[str]++;
//    }
//    int N = 0;
//    int U = m1.size();
//    for (auto e : m2)
//    {
//        if (m1[e.first] != 0) //说明都有
//        {
//            N++;
//        }
//        else   //说明m2有，m1没有
//        {
//            U++;
//        }
//
//    }
//
//    cout << N << " " << U;
//
//    return 0;
//}